草庐IT

MySQL 多个 Id 查找

全部标签

ruby - 如何使用 Ruby 查找字符串中最后一次出现的数字?

使用Ruby...给定以下字符串:x="blah_blah.do.dah[4543]junk_junk"如何删除最后一个数字/数字后的所有文本?我认为最简单的方法可能是找到最后一次出现的索引,然后删除该索引之后的所有内容。但是,我似乎无法弄清楚如何获得该索引。我所有使用正则表达式的尝试都失败了。 最佳答案 有答案如何做你需要的还要找到最后一次出现的数字:x='blah_blah.do.dah[4543]junk_junk'x.rindex(/\d/) 关于ruby-如何使用Ruby查找字

ruby-on-rails - 使用 Ransack 一次搜索多个模型

我的应用程序标题中有一个搜索表单,我想使用此搜索表单在应用程序中搜索多个模型。例如,像/search?q=rails这样的请求应该触发对多个模型的搜索,如Work、Project、用户及其定义的属性。我想使用Ransack,因为我已经在应用程序不同区域的Work模型上使用了它。我想我还不太了解Ransack,文档总是指出您必须定义@q=MyModel.search(params[:q])才能在表单中使用它search_form_for@q。有没有一种方法可以让您不必提前定义特定模型?只需传入参数名称,如search_form_for:q? 最佳答案

Ruby 通过索引访问多个数组元素(子数组)

我有一个数组,还有一个数组,其中包含第一个数组中某些元素的索引。从第一个数组中获取元素的最佳方法是什么?我在做:result=[]indexes.each{|current|result但应该有更好的方法.. 最佳答案 您可以使用Array#map:indexes.map{|i|my_array[i]}或者更好,Array#values_atmy_array.values_at(*indexes)*符号将数组提取到传递给方法的参数中。 关于Ruby通过索引访问多个数组元素(子数组),我们

ruby - 使用机架安装的多个 Sinatra 应用程序

我有一个关于在Sinatra上使用机架安装的问题。我有两个经典风格的Sinatra应用程序。让我们调用app.rb中定义的一个App和api.rb中定义的另一个API。我希望api.rb处理所有以“/api”开头的路由,而app.rb处理所有其他请求,包括根(“/”)。我如何使用机架安装方式进行设置?或者有比这更好的解决方案吗? 最佳答案 我认为您会更喜欢Rack::URLMap-它可能看起来像这样:runRack::URLMap.new("/"=>App.new,"/api"=>Api.new)这应该放在您的config.ru文件

ruby-on-rails - 检查 ActiveRecord 查找是否返回结果

我正在尝试检查查找方法是否返回结果。我的查找方法如下:post=Post.find(:all,:conditions=>{:url=>params['url']},:limit=>1)检查post是否包含结果的好方法是什么? 最佳答案 find:all如果没有返回任何行,则返回一个空数组([]),因此您可以这样使用它:post=Post.find(:all,:conditions=>{:url=>params['url']},:limit=>1)unlesspost.empty?#dosomething...end顺便说一句,如果您

ruby-on-rails - Rails - 如何使用查找或创建

我有以下内容:@permission=@group.permissions.create(:user_id=>@user.id,:role_id=>2,:creator_id=>current_user.id)我如何将其更新为find_or_create,以便如果该记录已存在,则将其分配给@permission,如果不存在,则记录被创造出来了吗? 最佳答案 虽然acceptedansweriscorrect重要的是要注意,在Rails4中,此语法将发生变化(以及哈希语法)。您应该编写以下内容:@permission=Permissi

ruby-on-rails - Rails - 多个顶级域和一个 session /cookie

我已经为此苦苦挣扎了很长一段时间,但一直无法找到解决办法。我需要一个用户能够查看多个顶级单次登录的域名。我的理解是这需要在environment.rb中设置并且用before_dispatch调用。这是我想出的:require'activesupport'require'dispatcher'moduleActionControllerclassDispatcherdefset_session_domainActionController::Base.session_options.update:session_domain=>"#{@request.host}"endbefore_d

ruby-on-rails - 当前用户的 Rails 范围查找

我将Rails3与Devise一起用于用户身份验证。假设我有一个启用了Devise的用户模型和一个产品模型,并且一个用户有很多产品。在我的ProductsController中,我希望我的find方法受current_user限制,即。@product=current_user.products.find(params[:id])除非用户是管理员用户,即current_user.admin?现在,我几乎在每个方法中都运行该代码,这看起来很乱:ifcurrent_user.admin?@product=Product.find(params[:id])else@product=curre

Ruby:如何检查一个字符串是否包含多个项目?

我熟悉Ruby的include?字符串方法,但我如何检查一个字符串的多个内容?具体来说,我需要检查字符串是否包含“Fwd:”或“FW:”(并且应该不区分大小写)示例字符串为:“FWD:您的Amazon.com订单已发货” 最佳答案 the_string=~/fwd:|fw:/i你也可以使用类似的东西%w(fwd:fw:).any?{|str|the_string.downcase.include?str}虽然我个人更喜欢在这种情况下使用正则表达式的版本(特别是因为你必须在第二个中调用downcase以使其不区分大小写)。

ruby-on-rails - Rails 中的多个 where 条件

我正在我的Rails应用程序中实现用户搜索功能。但是,我不希望管理员出现在搜索结果中。我正在尝试这个:User.where(:admin=>[nil,false],["nameLIKE?","%#{params[:query]}%"])但是我得到这个错误:syntaxerror,unexpected')',expectingtASSOC那么如何正确地在括号内列出where子句? 最佳答案 试试这个User.where(["nameLIKE?","%#{params[:query]}%"]).where(:admin=>[nil,fa